1. Field of the Invention
The present invention relates to a cooperative reasoning apparatus.
2. Description of the Related Art
As an example of a cooperative reasoning apparatus, a cooperative reasoning apparatus based on a contract network is known. A contract network type reasoning apparatus is normally constituted by problem solving units having different reasoning knowledge data. When a problem to be solved is given to one problem solving unit in the contract network type reasoning apparatus, the problem solving unit performs reasoning using its own reasoning knowledge and attempts to solve the problem. The problem solving unit solves a part, that can be solved by itself, of the given problem using its own reasoning knowledge, but announces to the remaining problem solving units using a communication unit that they solve an unsolved part which cannot be solved by itself. The remaining problem solving units determine whether or not they offer a bid for the announced contents. The announced problem solving unit selects and accepts an appropriate bid. Also, the accepted problem solving unit can announce, to other units, a problem that cannot be solved by itself.
When some problem solving processing is performed using such a cooperative reasoning apparatus, processing may be concentrated on some specific problem solving units but may not be concentrated on some other specific problem solving units depending on the nature of the problem. Since a problem solving unit which is currently processing some partial problem cannot respond to a reasoning processing demand from another problem solving unit, the problem solving unit as a reasoning request source must wait for the end of the processing of the request destination. That is, a specific problem solving unit becomes a bottleneck in the whole reasoning processing.
More specifically, since the contract network includes only a limited number of problem solving units which perform some kinds of reasoning, if the nature of a given problem largely depends on a specific problem solving unit, processing is concentrated on the specific one of a plurality of problem solving units, and the entire reasoning speed is limited there.
In a distributed computer environment such as a conventional computer network, when reasoning processing is to be requested to a problem solving unit which is performing some other processing, in one method, the request source of the reasoning processing, or a management means or the like replicates the problem solving unit, and requests the replicated problem solving unit to perform the reasoning processing. In another method, a predetermined number of problem solving units may be prepared in advance and may be set in a standby state.
However, in the method in which the request source of the reasoning processing or management means determines whether or not the problem solving unit is to be replicated, the request source of the reasoning processing or management means must collect information (such as operating ratio) associated with a target reasoning apparatus, and this method is not preferable in terms of concentration of information and an increase in communication cost. Furthermore, a situation may change during research and determination associated with the target reasoning apparatus, and a proper determination cannot always be made. On the other hand, in the method of preparing a predetermined number of problem solving units in advance, the computer resource is wasted unless the problem solving units are used. On the contrary, if a larger number of reasoning processing demands than expected are concentrated, similar problems are posed.